# Copyright 2023 Flant JSC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Do nothing, if systemd-networkd is not enabled and active
if ! systemctl is-enabled --quiet systemd-networkd ; then
  exit 0
fi

mkdir -p /etc/systemd/networkd.conf.d/

bb-event-on 'bb-sync-file-changed' '_on_systemctl_config_changed'
_on_systemctl_config_changed() {
  systemctl restart systemd-networkd.service
}

bb-sync-file /etc/systemd/networkd.conf.d/80-disable-manage-foreign-rules.conf - << "EOF"
# CNI also manage the rules. Disable foreign rule management to prevent conflicts.
[Network]
ManageForeignRoutingPolicyRules=no
EOF
